{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "6f580f03-66cc-43b2-b990-bb987a026588",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 20/500, Loss: 0.3789\n",
      "Epoch 40/500, Loss: 0.0859\n",
      "Epoch 60/500, Loss: 0.0249\n",
      "Epoch 80/500, Loss: 0.0121\n",
      "Epoch 100/500, Loss: 0.0094\n",
      "Epoch 120/500, Loss: 0.0089\n",
      "Epoch 140/500, Loss: 0.0088\n",
      "Epoch 160/500, Loss: 0.0087\n",
      "Epoch 180/500, Loss: 0.0087\n",
      "Epoch 200/500, Loss: 0.0087\n",
      "Epoch 220/500, Loss: 0.0087\n",
      "Epoch 240/500, Loss: 0.0087\n",
      "Epoch 260/500, Loss: 0.0087\n",
      "Epoch 280/500, Loss: 0.0087\n",
      "Epoch 300/500, Loss: 0.0087\n",
      "Epoch 320/500, Loss: 0.0087\n",
      "Epoch 340/500, Loss: 0.0087\n",
      "Epoch 360/500, Loss: 0.0087\n",
      "Epoch 380/500, Loss: 0.0087\n",
      "Epoch 400/500, Loss: 0.0087\n",
      "Epoch 420/500, Loss: 0.0087\n",
      "Epoch 440/500, Loss: 0.0087\n",
      "Epoch 460/500, Loss: 0.0087\n",
      "Epoch 480/500, Loss: 0.0087\n",
      "Epoch 500/500, Loss: 0.0087\n",
      "\n",
      "Training Results:\n",
      "true_w: [-1.41537074], true_b: -0.421\n",
      "w_teained: [-1.40550716], b_trained: -0.415\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAGGCAYAAABmGOKbAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAqbVJREFUeJzs3Xd4VGXaBvD7nDO9pJFKCAQSehcXBERAkICKoH5ip9jWgq5k1RVdEbCw2MCC4FrAsmtH7FRFVCwLiFKkBUJLJSHT+znfH0MGhgmQhCSTcv+uK9funDnnnfc8Cc4885ZHUBRFARERERERERHVOTHaHSAiIiIiIiJqrph0ExEREREREdUTJt1ERERERERE9YRJNxEREREREVE9YdJNREREREREVE+YdBMRERERERHVEybdRERERERERPWESTcRERERERFRPWHSTURERERERFRPmHQTEZ3BkiVLIAgCNmzYEO2uEBERRRAEATNnzjzrdjIzMzF58uSzbuds5OfnQxAELFmypE7aq6vYEJ0NJt1EDYSJ26lVxuZUPz///HO0u0hERFF08vuETqdD69atkZOTgxdeeAE2m63Wba9fvx4zZ85ERUVF3XW4EapMZqv6Oe+886q8Zvv27Zg5cyby8/Mjnnv55ZfrLDGujbVr10IQBHz00UdR6wNRdami3QEiokqzZ89G+/btI45nZ2dHoTdERNTYVL5P+Hw+FBUVYe3atbj33nvx3HPP4bPPPkOvXr1q3Ob69esxa9YsTJ48GXFxcXXf6Ubm2muvxcUXXxx2LCkpCQCwc+dOiOLxMbnt27dj1qxZGDZsGDIzM8Ouefnll5GYmBj1kfEzcblcUKmY8lB08S+QiBqNMWPG4Nxzz412N4iIqJE6+X1i+vTp+Oabb3DppZfisssuw59//gm9Xh/FHjZ+55xzDm644YYqn9NqtQ3cm/qn0+mi3QUiTi8namx+++03jBkzBjExMTCZTBgxYkTE9Gqfz4dZs2ahY8eO0Ol0aNWqFc4//3ysWrUqdE5RURGmTJmCNm3aQKvVIi0tDePGjatyililZ555BoIgYP/+/RHPTZ8+HRqNBkePHgUA7N69G1deeSVSU1Oh0+nQpk0bXHPNNbBYLHUTiCpUTo175plnMG/ePLRr1w56vR5Dhw7F1q1bI87/5ptvMGTIEBiNRsTFxWHcuHH4888/I847fPgwbr75ZrRu3RparRbt27fHHXfcAa/XG3aex+NBbm4ukpKSYDQacfnll6O0tDTsnA0bNiAnJweJiYnQ6/Vo3749brrpproNBBERhVx44YV45JFHsH//frzzzjuh43/88QcmT56MDh06QKfTITU1FTfddBPKyspC58ycORP3338/AKB9+/ah6daV75WLFy/GhRdeiOTkZGi1WnTr1g0LFy6sVr+q8/qVfRAEAXv27AmNtsfGxmLKlClwOp1h53o8HkybNg1JSUkwm8247LLLcOjQodqErUonrulesmQJrrrqKgDA8OHDQ7FZu3YtMjMzsW3bNnz33Xeh48OGDQu1U1FRgXvvvRcZGRnQarXIzs7G3LlzIcty2OtVVFRg8uTJiI2NRVxcHCZNmlTn0/xPXtNdk3gDwDvvvIN+/fpBr9cjISEB11xzDQ4ePFinfaTmjyPdRI3Itm3bMGTIEMTExOCBBx6AWq3GK6+8gmHDhuG7777DgAEDAATfMObMmYNbbrkF/fv3h9VqxYYNG7Bp0yZcdNFFAIArr7wS27Ztw913343MzEyUlJRg1apVOHDgQMQUsUoTJkzAAw88gA8++CD0IaTSBx98gFGjRiE+Ph5erxc5OTnweDy4++67kZqaisOHD+OLL75ARUUFYmNja3X/FosFR44cCTsmCAJatWoVduytt96CzWbDXXfdBbfbjeeffx4XXnghtmzZgpSUFADA6tWrMWbMGHTo0AEzZ86Ey+XCiy++iMGDB2PTpk2hGBQUFKB///6oqKjAbbfdhi5duuDw4cP46KOP4HQ6odFoQq979913Iz4+Ho8++ijy8/Mxf/58TJ06Fe+//z4AoKSkBKNGjUJSUhIefPBBxMXFIT8/H0uXLq1VPIiIqHpuvPFGPPTQQ1i5ciVuvfVWAMCqVauwd+9eTJkyBampqdi2bRv+/e9/Y9u2bfj5558hCAKuuOIK7Nq1C++++y7mzZuHxMREAMenWy9cuBDdu3fHZZddBpVKhc8//xx33nknZFnGXXfdddo+Vef1TzRhwgS0b98ec+bMwaZNm/Daa68hOTkZc+fODZ1zyy234J133sF1112HQYMG4ZtvvsEll1xSo1g5nc6I99rY2Fio1eqwYxdccAHuuecevPDCC3jooYfQtWtXAEDXrl0xf/583H333TCZTHj44YcBIPT+63Q6MXToUBw+fBh//etf0bZtW6xfvx7Tp09HYWEh5s+fDwBQFAXjxo3DDz/8gNtvvx1du3bFJ598gkmTJtXofmqrOvF+4okn8Mgjj2DChAm45ZZbUFpaihdffBEXXHABfvvttxaxHIHqiEJEDWLx4sUKAOV///vfKc8ZP368otFolLy8vNCxgoICxWw2KxdccEHoWO/evZVLLrnklO0cPXpUAaA8/fTTNe7nwIEDlX79+oUd+/XXXxUAyltvvaUoiqL89ttvCgDlww8/rHH7VamMTVU/Wq02dN6+ffsUAIper1cOHToUOv7LL78oAJRp06aFjvXp00dJTk5WysrKQsd+//13RRRFZeLEiaFjEydOVERRrPL3IstyWP9GjhwZOqYoijJt2jRFkiSloqJCURRF+eSTT874OyYiopqrzntobGys0rdv39Bjp9MZcc67776rAFDWrVsXOvb0008rAJR9+/ZFnF9VGzk5OUqHDh3O2Ofqvv6jjz6qAFBuuummsHMvv/xypVWrVqHHmzdvVgAod955Z9h51113nQJAefTRR0/bn8r30Kp+vv32W0VRFKVdu3bKpEmTQtd8+OGHYc+fqHv37srQoUMjjj/22GOK0WhUdu3aFXb8wQcfVCRJUg4cOKAoiqIsW7ZMAaA89dRToXP8fr8yZMgQBYCyePHi097Pt99+W63PIifHprrxzs/PVyRJUp544omw87Zs2aKoVKqI40Snw+nlRI1EIBDAypUrMX78eHTo0CF0PC0tDddddx1++OEHWK1WAEBcXBy2bduG3bt3V9mWXq+HRqPB2rVrQ9PBq+vqq6/Gxo0bkZeXFzr2/vvvQ6vVYty4cQAQGslesWJFlVOxamvBggVYtWpV2M/XX38dcd748eORnp4eety/f38MGDAAX331FQCgsLAQmzdvxuTJk5GQkBA6r1evXrjoootC58myjGXLlmHs2LFVriU/eRTitttuCzs2ZMgQBAKB0HT8ym+8v/jiC/h8vlpGgYiIasNkMoXtYn7i2m63240jR46EdunetGlTtdo8sY3K2VhDhw7F3r17z7icqqavf/vtt4c9HjJkCMrKykLv/ZXvXffcc0/Yeffee2+17qXSbbfdFvFe27t37xq1cToffvghhgwZgvj4eBw5ciT0M3LkSAQCAaxbtw5A8H5UKhXuuOOO0LWSJOHuu++us76czpnivXTpUsiyjAkTJoTdR2pqKjp27Ihvv/22QfpJzQOTbqJGorS0FE6nE507d454rmvXrpBlObSGaPbs2aioqECnTp3Qs2dP3H///fjjjz9C52u1WsydOxdff/01UlJScMEFF+Cpp55CUVHRGftx1VVXQRTF0JRpRVHw4YcfhtaZA8F1b7m5uXjttdeQmJiInJwcLFiw4KzXc/fv3x8jR44M+xk+fHjEeR07dow41qlTp9AavMok+FSxPHLkCBwOB0pLS2G1WtGjR49q9a9t27Zhj+Pj4wEg9MXG0KFDceWVV2LWrFlITEzEuHHjsHjxYng8nmq1T0REtWe322E2m0OPy8vL8be//Q0pKSnQ6/VISkoKVcio7vvVjz/+iJEjR4b2BklKSsJDDz1UrTZq+vpneo/Zv38/RFFEVlZW2HlVvdedTseOHSPeaytfqy7s3r0by5cvR1JSUtjPyJEjAQSXYgHB+0lLS4PJZAq7vqb3U1tnivfu3buhKAo6duwYcS9//vln6D6IqoNruomaoAsuuAB5eXn49NNPsXLlSrz22muYN28eFi1ahFtuuQVA8JvvsWPHYtmyZVixYgUeeeQRzJkzB9988w369u17yrZbt26NIUOG4IMPPsBDDz2En3/+GQcOHAhb4wQAzz77LCZPnhzqwz333IM5c+bg559/Rps2ber1/qNFkqQqjyuKAgCheqE///wzPv/8c6xYsQI33XQTnn32Wfz8888RHyyIiKhuHDp0CBaLJazE5IQJE7B+/Xrcf//96NOnD0wmE2RZxujRoyM29KpKXl4eRowYgS5duuC5555DRkYGNBoNvvrqK8ybN++MbdT09c/0HtNUyLKMiy66CA888ECVz3fq1KmBe1S1M8VblmUIgoCvv/66ynP5nk41waSbqJFISkqCwWDAzp07I57bsWMHRFFERkZG6FhCQgKmTJmCKVOmwG6344ILLsDMmTNDSTcAZGVl4e9//zv+/ve/Y/fu3ejTpw+effbZsN1dq3L11VfjzjvvxM6dO/H+++/DYDBg7NixEef17NkTPXv2xD//+U+sX78egwcPxqJFi/D444+fRSTOrKpp9bt27QptjtauXTsAOGUsExMTYTQaodfrERMTU+XO52fjvPPOw3nnnYcnnngC//3vf3H99dfjvffeC/vdEBFR3Xn77bcBADk5OQCCo5Vr1qzBrFmzMGPGjNB5Vb1/nLyUqNLnn38Oj8eDzz77LGxUtDrTimvy+tXVrl07yLKMvLy8sNHgqt7r6sqpYnO657KysmC320Mj26fSrl07rFmzBna7PSyBrc/7qYmsrCwoioL27ds3mi8KqOni9HKiRkKSJIwaNQqffvppWFmv4uJi/Pe//8X5558fmt59crkRk8mE7Ozs0DRmp9MJt9sddk5WVhbMZnO1pjpfeeWVkCQJ7777Lj788ENceumlMBqNoeetViv8fn/YNT179oQoimHtHzhwADt27KheAGpg2bJlOHz4cOjxr7/+il9++QVjxowBEFwH36dPH7z55pthpUe2bt2KlStX4uKLLwYAiKKI8ePH4/PPP8eGDRsiXqemowtHjx6NuKZPnz4AwCnmRET15JtvvsFjjz2G9u3b4/rrrwdwfBTz5P8mV+6cfaLK97eTS1VV1YbFYsHixYvP2KeavH51Vb7HvfDCC3XW5pmcKjaVz1V1fMKECfjpp5+wYsWKiOcqKipCnx8uvvhi+P3+sBJsgUAAL774Yt10/ixdccUVkCQJs2bNivg9KooS8VmM6HQ40k3UwN544w0sX7484vjf/vY3PP7441i1ahXOP/983HnnnVCpVHjllVfg8Xjw1FNPhc7t1q0bhg0bhn79+iEhIQEbNmzARx99hKlTpwIIjvqOGDECEyZMQLdu3aBSqfDJJ5+guLgY11xzzRn7mJycjOHDh+O5556DzWbD1VdfHfb8N998g6lTp+Kqq65Cp06d4Pf78fbbb0OSJFx55ZWh8yZOnIjvvvuu2snr119/XWWSPmjQoLDN5bKzs3H++efjjjvugMfjwfz589GqVauwqWxPP/00xowZg4EDB+Lmm28OlQyLjY0Nq9f55JNPYuXKlRg6dChuu+02dO3aFYWFhfjwww/xww8/1KgcyJtvvomXX34Zl19+ObKysmCz2fDqq68iJiYmlOgTEVHtVb5P+P1+FBcX45tvvsGqVavQrl07fPbZZ9DpdACAmJiY0H4mPp8P6enpWLlyJfbt2xfRZr9+/QAADz/8MK655hqo1WqMHTsWo0aNgkajwdixY/HXv/4Vdrsdr776KpKTk1FYWHjaftbk9aurT58+uPbaa/Hyyy/DYrFg0KBBWLNmDfbs2VPrNqvzmpIkYe7cubBYLNBqtaG65f369cPChQvx+OOPIzs7G8nJybjwwgtx//3347PPPsOll16KyZMno1+/fnA4HNiyZQs++ugj5OfnIzExEWPHjsXgwYPx4IMPIj8/H926dcPSpUtrvD/Mxx9/XOVnh0mTJoXNEKyprKwsPP7445g+fTry8/Mxfvx4mM1m7Nu3D5988gluu+023HfffbVun1qYaGyZTtQSna4sFgDl4MGDiqIoyqZNm5ScnBzFZDIpBoNBGT58uLJ+/fqwth5//HGlf//+SlxcnKLX65UuXbooTzzxhOL1ehVFUZQjR44od911l9KlSxfFaDQqsbGxyoABA5QPPvig2v199dVXFQCK2WxWXC5X2HN79+5VbrrpJiUrK0vR6XRKQkKCMnz4cGX16tVh5w0dOlSpzn9mzhSbyrIhleVOnn76aeXZZ59VMjIyFK1WqwwZMkT5/fffI9pdvXq1MnjwYEWv1ysxMTHK2LFjle3bt0ect3//fmXixIlKUlKSotVqlQ4dOih33XWX4vF4wvp3cqmaynIllaVUNm3apFx77bVK27ZtFa1WqyQnJyuXXnqpsmHDhjPGgIiITu3k9wmNRqOkpqYqF110kfL8888rVqs14ppDhw4pl19+uRIXF6fExsYqV111lVJQUFBlea3HHntMSU9PV0RRDCsf9tlnnym9evVSdDqdkpmZqcydO1d54403TllirDavX1nCqrS0tMp7PvF1XC6Xcs899yitWrVSjEajMnbsWOXgwYM1Khl2unKiJ5cMU5Tg54EOHTookiSFvecVFRUpl1xyiWI2mxUAYeXDbDabMn36dCU7O1vRaDRKYmKiMmjQIOWZZ54JfVZRFEUpKytTbrzxRiUmJkaJjY1VbrzxxlBZ0uqWDDvVz/fff68oyqlLhlUn3oqiKB9//LFy/vnnK0ajUTEajUqXLl2Uu+66S9m5c+dp+0d0IkFRmtjuDETUYuXn56N9+/Z4+umn+e0yERERETUJXNNNREREREREVE+YdBMRERERERHVEybdRERERERERPWEa7qJiIiIiIiI6glHuomIiIiIiIjqCZNuIiIiIiIionqiinYHGiNZllFQUACz2QxBEKLdHSIiojCKosBms6F169YQxeb7/Tnfj4mIqDGr7vsxk+4qFBQUICMjI9rdICIiOq2DBw+iTZs20e5GveH7MRERNQVnej9m0l0Fs9kMIBi8mJiY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mjVrcOTIETidTrRt2xYajSZ03WeffYbHHnusXu6hKWHSXc+4ezkREbVUbdq0wb/+9S9s3LgRGzZswIUXXohx48Zh27Zt0e5a1W68ESgrCz8WHw+89150+kNEzdbJFRZsbh/8sgyb24fdJXYkGDUY1T2l3jZRW758OdLS0pCZmYnRo0fj22+/xQsvvIBPP/0UkiShd+/eeO655zB37lz06NED//nPfzBnzpywNgYNGoTbb78dV199NZKSkvDUU08hKSkJS5YswYcffohu3brhX//6F5555pl6uYemRFBO/mqFYLVaERsbC4vFgpiYmLNq64fdpbjh9V/RKdmElblD66iHzZ8syygpKUFycjJEbmhTbYxbzTFmtcO41Vxdxqwu36caWkJCAp5++mncfPPNZzw3qvd5553AwoXHH3fsCOzY0eg2WeO/xfrD2NaP5hRXt9uNffv2oX379tDpdLVqY0+JLVRhweMPTinPTjZhVPcUZCeba9SWoijw+/1QqVQRm7NR7blcLuTl5aFDhw4RG8hV932Ku5fXMz03UiMiIkIgEMCHH34Ih8OBgQMHRrs7Z/byy8DttwO9ewcf794dnIb+++9Ar17R7RsRNRunqrDQkGXCqP4x6a5nOpYMIyKiFmzLli0YOHAg3G43TCYTPvnkk1OWjPF4PPB4PKHHVqsVQHBkrLLkTIPq0QPw+SB07w5h167gsd69odxxB5SXXmr4/lRBlmUoihKd+DRzjG39aE5xrbyXyp/aEgSgTXz42u3atld5HScz172q3ouq+3fMpLuecfdyIiJqyTp37ozNmzfDYrHgo48+wqRJk/Ddd99VmXjPmTMHs2bNijheWloKt9vdEN2t2nffQbdsGeLuuAMAICxcCGHhQhRv3w4lPj56/ULwA5/FYoGiKE1+qm5jw9jWj+YUV5/PB1mW4ff74fc3bGmvqiiKEtpNnNPL607l77m8vBx2uz3sOZvNVq02mHTXM+5eTkRELZlGo0F2djYAoF+/fvjf//6H559/Hq+88krEudOnT0dubm7osdVqRUZGBpKSkqK/dv222yBPmACxVavQoZRu3SAvWRLcgC1KZFmGIAhISkpq8glMY8PY1o/mFFe32w2bzQaVSgWVqvGkVWq1OtpdaFbUajVEUURCQkLEmu7qruVvPH8dzZT+2O7lflmBLyBDLTXt/7gQERGd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",
      "text/plain": [
       "<Figure size 1000x400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 关键：强制指定使用系统默认英文字体，覆盖可能残留的中文字体配置\n",
    "plt.rcParams['font.family'] = 'DejaVu Sans'  # 跨平台通用英文字体（Linux/Mac/Windows均支持）\n",
    "plt.rcParams['axes.unicode_minus'] = False    # 确保负号正常显示（避免因字体问题变成方块）\n",
    "\n",
    "# 设置参数\n",
    "n_samples = 100  # 样本数量\n",
    "n_features = 1    # 特征数量，为1时是一元线性回归\n",
    "noise = 0.1       # 噪声水平\n",
    "random_state = 42 # 随机种子，保证结果可重现\n",
    "\n",
    "# 生成模拟数据\n",
    "np.random.seed(random_state)\n",
    "X = np.random.randn(n_samples, n_features)  # 生成特征数据\n",
    "\n",
    "# 随机生成真实权重和偏置\n",
    "true_w = np.random.randn(n_features)\n",
    "true_b = np.random.randn()\n",
    "y = np.dot(X, true_w) + true_b + noise * np.random.randn(n_samples)  # 生成带噪声的目标值\n",
    "\n",
    "# 初始化模型参数\n",
    "w = np.random.randn(n_features) * 0.01  # 随机生成小值初始化权重\n",
    "b = 0.0  # 偏置初始化为0\n",
    "\n",
    "# 实现Mini-batch SGD(每次取一个batch)\n",
    "def mini_batch_sgd(X, y, batch_size=10, learning_rate=0.005, epochs=500):\n",
    "    n_samples, n_features = X.shape\n",
    "    loss_history = []  # 记录每轮的损失值\n",
    "    \n",
    "    # 使用函数内的局部变量，避免全局变量带来的问题\n",
    "    local_w = w.copy()\n",
    "    local_b = b\n",
    "    \n",
    "    for epoch in range(epochs):\n",
    "        # 打乱数据顺序\n",
    "        indices = np.random.permutation(n_samples)\n",
    "        X_shuffled = X[indices]\n",
    "        y_shuffled = y[indices]\n",
    "        \n",
    "        total_loss = 0  # 累加本轮的总损失\n",
    "        \n",
    "        # 按批次处理数据\n",
    "        for i in range(0, n_samples, batch_size):\n",
    "            # 获取当前批次的数据\n",
    "            X_batch = X_shuffled[i:i+batch_size]\n",
    "            y_batch = y_shuffled[i:i+batch_size]\n",
    "            \n",
    "            # 模型预测（使用当前批次数据）\n",
    "            y_pred = np.dot(X_batch, local_w) + local_b\n",
    "            \n",
    "            # 计算当前批次的损失\n",
    "            loss = np.mean((y_batch - y_pred) **2)\n",
    "            total_loss += loss\n",
    "            \n",
    "            # 计算梯度（基于当前批次）\n",
    "            error = y_pred - y_batch\n",
    "            batch_size_current = X_batch.shape[0]  # 处理最后一批可能不足batch_size的情况\n",
    "            dw = (1 / batch_size_current) * np.dot(X_batch.T, error)\n",
    "            db = (1 / batch_size_current) * np.sum(error)\n",
    "            \n",
    "            # 更新参数\n",
    "            local_w -= learning_rate * dw\n",
    "            local_b -= learning_rate * db\n",
    "        \n",
    "        # 计算本轮的平均损失\n",
    "        num_batches = n_samples // batch_size + (1 if n_samples % batch_size != 0 else 0)\n",
    "        avg_loss = total_loss / num_batches\n",
    "        loss_history.append(avg_loss)\n",
    "        \n",
    "        # 每20轮打印一次损失\n",
    "        if (epoch + 1) % 20 == 0:\n",
    "            print(f\"Epoch {epoch+1}/{epochs}, Loss: {avg_loss:.4f}\")\n",
    "    \n",
    "    return local_w, local_b, loss_history\n",
    "\n",
    "# 使用Mini-batch SGD训练模型\n",
    "w_trained, b_trained, loss_history = mini_batch_sgd(\n",
    "    X, y, \n",
    "    batch_size=10, \n",
    "    learning_rate=0.005, \n",
    "    epochs=500\n",
    ")\n",
    "\n",
    "# 打印结果\n",
    "print(\"\\nTraining Results:\")\n",
    "print(f\"true_w: {true_w}, true_b: {true_b:.3f}\")\n",
    "print(f\"w_teained: {w_trained}, b_trained: {b_trained:.3f}\")\n",
    "\n",
    "# 绘制损失曲线\n",
    "plt.figure(figsize=(10, 4))\n",
    "plt.subplot(1, 2, 1)\n",
    "plt.plot(loss_history)\n",
    "plt.title('Loss vs. Epochs')\n",
    "plt.xlabel('Epochs')\n",
    "plt.ylabel('Loss')\n",
    "plt.grid(alpha=0.3)\n",
    "\n",
    "\n",
    "# 绘制数据和拟合直线\n",
    "plt.subplot(1, 2, 2)\n",
    "plt.scatter(X, y, alpha=0.5, label='Data')\n",
    "# 计算预测值用于绘图\n",
    "y_pred = np.dot(X, w_trained) + b_trained\n",
    "plt.plot(X, y_pred, 'r-', label='Fitted Line')\n",
    "plt.title('Data and Fitted Line')\n",
    "plt.xlabel('X')\n",
    "plt.ylabel('y')\n",
    "plt.legend(fontsize=10)\n",
    "plt.grid(alpha=0.3)\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dd4433a5-3070-44dd-ab2d-adb0cd759be8",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
